package com.bawei.newsapplication.view.activity.productList

import android.content.Intent
import android.widget.CheckBox
import android.widget.TextView
import androidx.lifecycle.Observer
import androidx.recyclerview.widget.LinearLayoutManager
import com.ayvytr.adapter.smart
import com.bawei.coom.model.bean.domm.ShippingAddressLBean
import com.bawei.coom.model.myapp.MyAPP
import com.bawei.newsapplication.R
import com.bawei.newsapplication.base.BaseActivity
import com.bawei.newsapplication.databinding.ActivityExchangeRecordBinding
import com.bawei.newsapplication.viewmodel.ProductListViewModel
import java.io.Serializable

/**
 * 作者: 谢庆平
 * 时间: 2024/10/20 20:24
 * 描述:
以下是对热点新闻所包含的 “首页”“热点视频”“全民拍”“问答”“我的（登录和微信登录）” 各板块的介绍：
 * 首页：
 * 内容呈现：这是热点新闻平台的门面和核心展示区域。通常会将最重要、最热门、
 * 最具时效性的新闻资讯以多种形式呈现出来，比如头条新闻会以大标题、醒目的图片等方式突出展示，
 * 方便用户第一时间获取关键信息。新闻的来源广泛，包括专业的新闻媒体机构、记者采写的报道，
 * 以及一些经过筛选的自媒体或其他渠道的优质内容。
 * 功能特点：具备综合性和导航性。一方面，它整合了各种类型的热点新闻，如政治、经济、社会、文化、科技、体育等领域
 * 的重大事件和突发新闻，满足不同用户的信息需求；另一方面，首页还会设置分类导航、热门话题标签等，
 * 方便用户快速找到自己感兴趣的新闻类别或特定主题的新闻报道。
 * 热点视频：
 * 内容来源：该板块主要汇聚了与热点新闻相关的视频内容。
 * 这些视频的来源包括新闻媒体机构制作的新闻视频报道、现场目击者拍摄的视频素材、
 * 专业视频创作者根据热点新闻事件创作的解读或评论视频等。比如一些重大事件的现场视频、
 * 新闻发布会的视频记录、专家对热点事件的分析视频等。
 * 呈现形式：以视频的形式生动、直观地展现新闻内容，
 * 相比文字和图片更具感染力和冲击力。视频的时长不一，既有简短的新闻快讯视频，
 * 也有较为深入的专题视频报道。用户可以通过播放、暂停、快进、快退等操作来观看视频，
 * 还可以在视频下方查看相关的文字介绍、评论和点赞等信息。
 * 全民拍：
 * 平台性质：是一个鼓励广大民众参与新闻素材提供和新闻事件分享的互动平台。普通民众可以使用手机或其他摄影设备，拍摄身边发生的新闻事件、社会现象、有趣的场景等，并通过该平台上传分享。
 * 作用意义：一方面，它为新闻媒体提供了丰富的新闻素材来源，拓宽了新闻的采集渠道，使新闻更加贴近生活、贴近群众；另一方面，也为民众提供了一个表达自己观点、参与新闻传播的机会，增强了民众的新闻参与感和社会责任感。
 * 问答：
 * 问题类型：这里集中了用户关于热点新闻的各种疑问和探讨。
 * 问题可能涉及对新闻事件的背景、原因、影响的询问，对新闻中涉及的专业知识或法律问题的求解，
 * 对不同观点的争论等。例如，对于一些复杂的国际局势热点新闻，用户可能会问
 * “某地区冲突的根源是什么”“该事件对全球经济会产生怎样的影响” 等问题。
 * 互动模式：用户可以提出问题，也可以回答其他用户的问题。
 * 这种互动模式促进了用户之间的交流和思想碰撞，有助于更深入地理解热点新闻事件。
 * 同时，一些专业的新闻工作者、专家学者或相关领域的从业者也可能会参与到问答中，提供专业的解答和分析，提高问答的质量和权威性。
 * 我的（登录和微信登录）：
 * 登录功能：用户可以通过账号密码登录或微信登录的方式进入
 * “我的” 页面。登录后，系统可以记录用户的个人信息、浏览历史、收藏、点赞、评论等数据，方便用户随时查看和管理自己在热点新闻平台上的活动记录。
 * 个性化设置：在该页面中，用户可以根据自己的兴趣和需求进行个性化设置，比如设置新闻推送的频率、类型、时间段等，
 * 以便获取更符合自己需求的热点新闻资讯。此外，用户还可以修改个人资料、绑定或解绑第三方账号等。
 */

class ExchangeRecordActivity : BaseActivity<ProductListViewModel,ActivityExchangeRecordBinding>(R.layout.activity_exchange_record) {
    //TODO 查询收货地址列表
    var addressListAdapter=smart(mutableListOf<ShippingAddressLBean.Result>(),R.layout.exchangerecord,{
           item, position ->
        findViewById<TextView>(R.id.tv_title).text=item.consignee
        findViewById<TextView>(R.id.tv_phone).text=item.phone
        findViewById<TextView>(R.id.tv_adder).text=item.region
        if(item.defaultFlag==2){
            findViewById<CheckBox>(R.id.che).isChecked=true
        }else{
            findViewById<CheckBox>(R.id.che).isChecked=false
        }
    }){}.click { item, position ->
        Intent(this, AddBianActivity::class.java).apply {
        putExtra( "id",item as Serializable)
    }.also { startActivity(it)}
    }
    override fun initView() {
        //TODO 点击添加地址
        mDataBinding.add.setOnClickListener {
            startActivity(Intent(this@ExchangeRecordActivity,AddShippingActivity::class.java))
            finish()
        }
        //TODO 修改页面
//        mDataBinding.deleteAll.setOnClickListener {
//            startActivity(Intent(this@ExchangeRecordActivity,AddBianActivity::class.java))
//            finish()
//        }
        //TODO 查询我的收货地址列表
        mViewModel.getShippingAddressList(MyAPP.userId,MyAPP.token)
        mDataBinding.recyclerAdd.adapter=addressListAdapter
        mDataBinding.recyclerAdd.layoutManager=LinearLayoutManager(this)
    }
    override fun dataObserve() {
        //TODO 查询我的收货地址列表
        mViewModel.shippingAddressListData.observe(this, Observer {
            if (it.result!=null){
                addressListAdapter.update(it.result,false)
            }
        })
    }
    override fun onRestart() {
        super.onRestart()
        mViewModel.getShippingAddressList(MyAPP.userId,MyAPP.token)
    }
}